java分布式入门

您所在的位置:网站首页 迪丽热巴 公诉 台词 java分布式入门

java分布式入门

2023-11-25 18:54| 来源: 网络整理| 查看: 265

分布式入门:

先理解为什么需要分布式,因为服务器处理的能力需要提升,这里有两个方面,第一是纵向 也就是增加cpu的能力,或者加内存;另一个方向就是 横向 ,就是分布式。将本来一台计算机的压力分给多太计算机,从而可以平均分布io,同时提升响应速度。 建议先从分布式 数据库看起,之后你可以用 虚拟机,和 本机进行测试 分布式数据库。 之后你可以使用 java操作这种分布式 数据库。 从而 依旧用虚拟机练习web项目,将原来的项目改为分布的,练练tomcat集群。 最好的学习方式就是项目驱动,做几个分布式的项目就差不多了。 从项目中逐渐找自己不会的知识点去学习是最快的。

so~,大二暑假的学习路线也是围绕一个分布式项目展开,通过博客留痕🦄。 先来了解一下java分布式相关知识点:

网关层:微服务,分布式,负载均衡等我们经常提到的这些名词都是这些技术在场景背后支撑。单机顶不住,我们就多找点服务器,但是怎么将流量均匀的打到这些服务器上呢?盗张图: 在这里插入图片描述 服务层: 整个框架的核心,技术生涯大部分时间都在跟这一层的技术栈打交道,各种琳琅满目的中间件,计算机基础知识,Linux操作,算法数据结构,架构框架,研发工具等等。 在这里插入图片描述 数据层: 在这里插入图片描述

大型分布式应用架构基础 1.单体架构

在java领域可以理解为一个javaweb应用。

2.分布式架构

什么是传统的分布式架构?简单来说,按照业务垂直切分,每个应用都是单体架构,通过API相互调用。

3.面向服务的SOA架构

实际上SOA只是一种架构设计模式,而SOAP、REST、RPC就是根据这种设计模式构建出来的规范,其中SOAP通俗理解就是http+xml的形式,REST就是http+json的形式,RPC是基于socket的形式。CXF就是典型的SOAP/REST框架,dubbo就是典型的RPC框架,而SpringCloud就是遵守REST规范的生态系统。

4.微服务架构

微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。 优点:上面的单体系统全部运行于一个进程之内,资源相互影响,添加功能可能会影响其它功能,导致维护麻烦。 而微服务一切分为不同的模块,运行于自身进程内,而且不同的服务可以使用不同的语言充分发挥优势。

缺点:引入了分布式的复杂性,如接口一致性。 不过很多问题强大的Spring Cloud都已经提供了解决方案!

微服务架构 = 80%的SOA服务架构思想 + 100%的组件化架构思想 + 80%的领域建模思想

微服务架构是基于SOA架构模式演变而来,继承了SOA架构的优点,在微服务架构中去除SOA架构中的SOAP协议和ESB企业服务总线,改为了http+json形式传输接口。ESB主要解决跨语言时的数据协议转换,提供可靠的消息传输,而http+json已经实现了跨平台,所以不需要专门的ESB了。微服务架构比SOA架构粒度会更加精细,让专业的人去做专业的事情(专注),每个服务之间互不影响,而且拥有独立的数据库、redis、MQ等,实现独立部署,整个服务架构更加轻巧、轻量级。

将单一程序开发成一个微服务,每个微服务运行在自己的进程中,并使用轻量级机制通信,通常采用HTTP RestFul API.这些服务围绕业务能力来划分构建的,并通过全完自动化部署机制来独立部署。这些服务可以使用不同的编程需要,以及不同数据存储技术,以保证最低限度的集中式管理。

微服务架构有以下6种:1. Dubbo;2. Motan;3. Tars;4. Spring Cloud;5. gRPC;6. Thrift。 在这里插入图片描述 相关概念: 在这里插入图片描述

集群

集群可以说是个物理形态,而分布式是个工作方式。

简单理解:

分布式:一个业务分拆多个子业务,部署在不同的服务器上

集群:同一个业务,部署在多个服务器上

一句话,就是:“分头做事”与“一堆人”的区别

中间件

一、什么是java中间件?

随着Javaweb开发的演进和进化,在面对消息系统、数据库、服务化接口的抽象等等涉及数据分离的过程当中,在分离过程当中,会涉及到分离之后,系统间、数据库间的交互。

java中间件就是处理数据交互、连接数据分离之后两个系统间的通信。

中间件不允许任何一个开发项目。也就是让我们对应系统间或者是数据库间数据流通没有感知。有点像Linux下的管道。

二、java常用中间件

在Java web开发中适用的范围主要应该是下面的3个领域。

1、远程过程调用和对象访问中间件

这个主要的是解决分布式环境下应用的互相访问问题。

同时,这个也是支撑应用服务化功能的基础。

就国内来说,当前远程服务框架中间件较多应用的是阿里巴巴的开源分布式服务框架Dubbo。

2、消息队列中间件

这个主要解决的是应用之间的消息传递、解耦、异步的问题。

它是一种EDA架构。

也就是通过在低耦合的模块之间传输事件消息来完成模块之间的合作。

在很多大型的网站当中,消息队列采用发布和订阅模式。

当前,比较常用的消息队列产品有RabbitMQ、Kafka、Apache的ActiveMQ、RocketMQ等等。

分布式服务框架和分布式消息队列是系统模块化之后主要的两种聚合方式。

3、数据访问中间件

它主要解决的是应用访问数据库的共性问题的组件 。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3